In some conventional computer systems, the operating system references files using inode structures. Examples of such files include ordinary files which store application data, and directories which store directory entries to represent files residing in the directories.
When the operating system creates a directory, the operating system allocates an inode structure to represent that directory. As files are placed in the directory, the operating system allocates blocks to the directory's inode structure to hold directory entries which map filenames of the files to the inode numbers of the files. As files are deleted from the directory, the operating system invalidates the directory entries corresponding to the deleted files, e.g., by replacing the inode numbers in those directory entries with zeroes. Examples of operating systems which operate in a manner similar to that described above include various versions of UNIX®.